6861caff243e7ed1ce7b9f2aa491489c45415b43,connector/src/test/java/org/jboss/as/connector/subsystems/datasources/DatasourcesSubsystemTestCase.java,DatasourcesSubsystemTestCase,testTransformer,#String#ModelTestControllerVersion#ModelVersion#,142

Before Change


     */
    private void testTransformer(String subsystemXml, ModelTestControllerVersion controllerVersion, final ModelVersion modelVersion) throws Exception {
        //Use the non-runtime version of the extension which will happen on the HC
        KernelServicesBuilder builder = createKernelServicesBuilder(AdditionalInitialization.MANAGEMENT)
                .setSubsystemXmlResource(subsystemXml);

        // Add legacy subsystems
        builder.createLegacyKernelServicesBuilder(null, controllerVersion, modelVersion)
                .addMavenResourceURL("org.jboss.as:jboss-as-connector:" + controllerVersion.getMavenGavVersion())
                .addMavenResourceURL("org.jboss.ironjacamar:ironjacamar-spec-api:1.1.4.Final")
                .addMavenResourceURL("org.jboss.ironjacamar:ironjacamar-common-api:1.1.4.Final")
                .setExtensionClassName("org.jboss.as.connector.subsystems.datasources.DataSourcesExtension")
                .excludeFromParent(SingleClassFilter.createFilter(ConnectorLogger.class))
                .configureReverseControllerCheck(AdditionalInitialization.MANAGEMENT, new ModelFixer() {
                    @Override
                    public ModelNode fixModel(ModelNode modelNode) {
                        //Replace the value used in the xml
                        modelNode.get(Constants.XA_DATASOURCE, "complexXaDs_Pool").remove(Constants.JTA.getName());
                        //These two are true in the original model but get removed by the transformers, so they default to false. Set them to true
                        modelNode.get(Constants.XA_DATASOURCE, "complexXaDs_Pool", Constants.STATISTICS_ENABLED.getName()).set(true);
                        modelNode.get(Constants.DATA_SOURCE, "complexDs_Pool", Constants.STATISTICS_ENABLED.getName()).set(true);
                        return modelNode;

                    }
                });

        KernelServices mainServices = builder.build();
        Assert.assertTrue(mainServices.isSuccessfulBoot());
        KernelServices legacyServices = mainServices.getLegacyServices(modelVersion);
        Assert.assertTrue(legacyServices.isSuccessfulBoot());
        Assert.assertNotNull(legacyServices);

        checkSubsystemModelTransformation(mainServices, modelVersion, new ModelFixer() {

            @Override
            public ModelNode fixModel(ModelNode modelNode) {
                Assert.assertTrue(modelNode.get(Constants.XA_DATASOURCE).get("complexXaDs_Pool").get(Constants.JTA.getName()).asBoolean());
                //Replace the value used in the xml
                modelNode.get(Constants.XA_DATASOURCE, "complexXaDs_Pool").remove(Constants.JTA.getName());
                //modelNode.get(Constants.DATA_SOURCE, "complexDs_Pool").get(Constants.STATISTICS_ENABLED.getName()).set(false);
                //modelNode.get(Constants.XA_DATASOURCE, "complexXaDs_Pool").get(Constants.STATISTICS_ENABLED.getName()).set(false);
                return modelNode;

            }
        });
    }

After Change


     */
    private void testTransformer(String subsystemXml, ModelTestControllerVersion controllerVersion, final ModelVersion modelVersion) throws Exception {
        //Use the non-runtime version of the extension which will happen on the HC
        KernelServicesBuilder builder = createKernelServicesBuilder(AdditionalInitialization.MANAGEMENT);


        // Add legacy subsystems
        LegacyKernelServicesInitializer initializer =builder.createLegacyKernelServicesBuilder(null, controllerVersion, modelVersion);
        if (controllerVersion.equals(ModelTestControllerVersion.WILDFLY_8_0_0_FINAL)) {
            initializer.addMavenResourceURL("org.wildfly:wildfly-connector:" + controllerVersion.getMavenGavVersion());
        } else {
            initializer.addMavenResourceURL("org.jboss.as:jboss-as-connector:" + controllerVersion.getMavenGavVersion());
        }
        initializer.addMavenResourceURL("org.jboss.ironjacamar:ironjacamar-spec-api:1.1.4.Final")
                .addMavenResourceURL("org.jboss.ironjacamar:ironjacamar-common-api:1.1.4.Final")

                .setExtensionClassName("org.jboss.as.connector.subsystems.datasources.DataSourcesExtension")
                .excludeFromParent(SingleClassFilter.createFilter(ConnectorLogger.class));

        KernelServices mainServices = builder.build();
        Assert.assertTrue(mainServices.isSuccessfulBoot());
        KernelServices legacyServices = mainServices.getLegacyServices(modelVersion);
        Assert.assertTrue(legacyServices.isSuccessfulBoot());
        Assert.assertNotNull(legacyServices);
        List<ModelNode> ops = builder.parseXmlResource(subsystemXml);
        PathAddress subsystemAddress = PathAddress.pathAddress(DataSourcesSubsystemRootDefinition.PATH_SUBSYSTEM);

        ModelTestUtils.checkFailedTransformedBootOperations(mainServices, modelVersion, ops, new FailedOperationTransformationConfig()
                        .addFailedAttribute(subsystemAddress.append(DataSourceDefinition.PATH_DATASOURCE), FAILED_TRANSFORMER_2_0_0)
                        .addFailedAttribute(subsystemAddress.append(XaDataSourceDefinition.PATH_XA_DATASOURCE), FAILED_TRANSFORMER_2_0_0)
        );
    }